package car.aistar.service.impl;

import car.aistar.dao.SellerDao;
import car.aistar.entity.Admin;
import car.aistar.entity.Seller;
import car.aistar.entity.UserDetail;
import car.aistar.service.SellerService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * (Seller)表服务实现类
 *
 * @author makejava
 * @since 2020-09-30 20:29:57
 */
@Service("sellerService")
public class SellerServiceImpl implements SellerService {
    @Resource
    private SellerDao sellerDao;

    @Override
    public List<Seller> findAllseller (String search){
       return sellerDao.findAllSeller(search);
    }

    @Override
    public PageInfo<Seller> findByPageSeller (String search, Integer pageNow, Integer pageSize){
        PageHelper.startPage(pageNow,pageSize);
        List<Seller> sellerList = sellerDao.findAllSeller(search);
        PageInfo<Seller> petPageInfo = new PageInfo<>(sellerList);
        return petPageInfo;
    }

    /**
     * 通过ID查询单条数据
     *
     * @param sid 主键
     * @return 实例对象
     */
    @Override
    public Seller queryById(Long sid) {
        return this.sellerDao.queryById(sid);
    }

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    @Override
    public List<Seller> queryAllByLimit(int offset, int limit) {
        return this.sellerDao.queryAllByLimit(offset, limit);
    }

    /**
     * 新增数据
     *
     * @param seller 实例对象
     * @return 实例对象
     */
    @Override
    public Seller insert(Seller seller) {
        this.sellerDao.insert(seller);
        return seller;
    }

    /**
     * 修改数据
     *
     * @param seller 实例对象
     * @return 实例对象
     */
    @Override
    public Seller update(Seller seller) {
        this.sellerDao.update(seller);
        return this.queryById(seller.getSid());
    }

    /**
     * 通过主键删除数据
     *
     * @param sid 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Long sid) {
        return this.sellerDao.deleteById(sid) > 0;
    }

    @Override
    public List<Seller> queryAll(Seller seller) {
        return this.sellerDao.queryAll(seller);
    }
}